import Vue from 'vue';
import App from './App';
import store from "./store/index.js";

Vue.prototype.$store = store;

Vue.config.productionTip = false


// 引入全局组件
import divider from "@/components/myVue/divider.vue"
Vue.component('divider', divider)
// 全屏加载
// import graceFullLoading from '@/graceUI/components/graceFullLoading.vue';
// Vue.component('graceFullLoading', graceFullLoading)



// 引入request库
import $http from '@/common/lib/request.js';
Vue.prototype.$HTTP = $http;

// 引入app 公共的方法
import appFn from '@/common/js/app.js';
Vue.prototype.appFn = appFn;

//全局注入w-loading组件
import wLoading from "@/components/myLoding/w-loading.vue";
Vue.component('w-loading', wLoading)

// 权限跳转
Vue.prototype.navigateTo = (options) => {
	// 判断用户是否登录
	if (!store.state.user.loginStatus) {
		uni.showToast({
			title: '请先登录',
			icon: 'none'
		});
		return uni.navigateTo({
			url: '/pages/login/login'
		});
	}
	uni.navigateTo(options);
}

// #ifdef APP-PLUS
// 为方便调试登录后操作 这里直接登录
Vue.prototype.gotoLogin = async () => {
	let options = {
		"act": "login",
		"mobile": 13723464857,
		"password": 123456,
	}
	let data = await $http.postDx('/api/api.php', options)
	uni.vibrateLong();
	store.state.user.userInfo = data.info;
	store.state.user.loginStatus = true;
	return true
}
// #endif
App.mpType = 'app'

// #ifdef APP-PLUS
/*      解决app 退出会退出账号的问题           */
let main = plus.android.runtimeMainActivity();
//为了防止快速点按返回键导致程序退出重写quit方法改为隐藏至后台  
plus.runtime.quit = function() {
	main.moveTaskToBack(false);
};
//重写toast方法如果内容为 ‘再次返回退出应用’ 就隐藏应用，其他正常toast 
plus.nativeUI.toast = (function(str) {
	if (str == '再次返回退出应用') {
		plus.runtime.quit();
	} else {
		uni.showToast({
			title: '再次返回退出应用',
			icon: 'none'
		})
	}
});
// #endif

const app = new Vue({
	store,
	...App
})
app.$mount()
